In virtual desktop infrastructures (VDIs), desktop operating systems, hosted on virtual machines (VMs) running on centralized servers, are delivered as a managed service to end users via a network. Such centralized and automated management of the virtualized operating system, applications, and user data provides increased control and cost savings.
In order to ensure proper quality of the virtual desktop delivered through VDI, techniques have been developed to automatically monitor video quality, audio quality, and synchronization of audio and video, among other things. One approach for monitoring quality uses watermarking to measure various performance metrics. For example, two different watermarks may be sent to denote the beginning and end of an operation. The watermarks are detected by the VDI client, and the time difference between the detected watermarks can be used to determine the latency of the operation as perceived by a user of the client device. However, as contents of the virtual desktop's frame buffer are typically sent to the VDI client using VDI display protocols that employ lossy compression, the watermarks may become corrupted. The watermarks may also be also be covered (e.g., by another application) or dropped during transmission. In addition, the watermarks are typically introduced at a gross level that is visible to the user.
In addition, to measure quality of the VDI display image, traditional approaches run benchmarking workloads to simulate or benchmark user experiences with the desktop delivered through VDI. Such benchmarks are run on the VMs, discussed above, and the VDI client connects to the graphical user interface of the virtual desktop over a network using a VDI display protocol such as PC over IP (PCoIP), RDP, or the like. However, such benchmarking workloads typically force the user to view certain pre-selected images as part of the benchmarking process.